package net.neptech.service;

import net.neptech.model.appointment.ClnicStaff;
import net.neptech.model.vo.ClnicStaffVo;
import net.neptech.model.vo.StaffDetailVo;
import net.neptech.vm.ResponseResult;

import java.util.Date;
import java.util.List;
import java.util.Map;

public interface IClnicStaffService {


    ResponseResult<List<ClnicStaff>> getClinicStaffList();

    /**
     * 查询最近一周某医生的号源信息
     * @param staffId
     * @return
     */
    ResponseResult<List<ClnicStaffVo>> getClinicStaffListByWeek(String staffId,Integer typeId);

    ResponseResult<Boolean>  putRedis(Integer dayNum);

    Integer updateClinicStaffSlotById(Long id, Integer num);

//    ResponseResult<List<ClnicStaff>> getClinicStaffListByDate(Date date, Long deptId);

    ResponseResult<List<ClnicStaffVo>> getClinicStaffListByDate(Date date,
                                                              Long deptId,
                                                              Byte typeId
    );


    Map<Long,StaffDetailVo> getDeptStaffVoMap(List<Long> staffIds);

    boolean putSlot(ClnicStaff clnicStaff);


    List<ClnicStaffVo> getClnicStaff(Long staffId);
}
